#ifndef __LABEL_H__
#define __LABEL_H__

#include "widget.h"

typedef enum
{
    CENTER=1,
    LEFT,
    RIGHT,
    TOP,
    BOTTOM
} align_t;

typedef struct
{
    align_t vert;
    align_t horz;
    HFONT font;
} label_t;

/*! Create a label
 * \param parent: pointer to the lable parent
 * \param x: coordinate on the parent
 * \param y: coordinate on the parent
 * \param width: size
 * \param height: size
 * \param horz: horizontal text alignment:
 *        LEFT
 *        CENTER
 *        RIGHT
 * \param vert: vertical text alignment:
 *        TOP
 *        CENTER
 *        BOTTOM
 */
widget_t *create_label(widget_t*,char*,int32_t,int32_t,uint32_t,uint32_t,
     align_t,align_t);

/*! Set text in label
 * \param self: pointer to the label widget
 * \param text: pointer to the text
 */
void label_set_text(widget_t*,char*);

/*! callback function - repainting widget.
 * \param self: pointer to the label widget
 * \param hdc: handle to the device context
 */
void label_paint(widget_t*,HDC);

/*! callback function - free memory for the widget
 * \param self: pointer to the label widget
 */
void label_free(widget_t*);

#endif /* __LABEL_H__ */

